package org.seedltd.upms.model.sys.entity;

import org.seedltd.core.base.BaseEntity;
import org.seedltd.upms.enums.EnableStatus;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Getter;
import lombok.Setter;

/**
 * 菜单数据库对象
 * 
 * @author laizuan
 * @version 1.0
 * @since 2021/05/24
 */
@Getter
@Setter
@TableName("sys_menu")
public class SysMenu extends BaseEntity {
    /**
     * 菜单主键
     */
    @TableId(value = "menu_id")
    private Long menuId;

    /**
     * 菜单名称
     */
    @TableField(value = "menu_name")
    private String menuName;

    /**
     * 父级菜单主键
     */
    @TableField(value = "parent_id")
    private Long parentId;

    /**
     * 国际化菜单key
     */
    @TableField(value = "i18n")
    private String i18n;

    /**
     * 菜单类型（1目录，2菜单，3按钮）
     */
    @TableField(value = "menu_type")
    private Integer menuType;

    /**
     * 图标
     */
    @TableField(value = "icon")
    private String icon;

    /**
     * 路由不缓存（0,缓存，1不缓存）
     */
    @TableField(value = "no_cache")
    private Integer noCache;

    /**
     * 路由名称
     */
    @TableField(value = "router_name")
    private String routerName;

    /**
     * 路由名称
     */
    @TableField(value = "url")
    private String url;

    /**
     * 组件路径
     */
    @TableField(value = "component_path")
    private String componentPath;

    /**
     * 激活菜单名称
     */
    @TableField(value = "active_menu")
    private String activeMenu;

    /**
     * 权限
     */
    @TableField(value = "permission")
    private String permission;

    /**
     * 启禁用
     */
    @TableField(value = "enabled")
    private EnableStatus enabled;

    /**
     * 是否显示
     */
    @TableField(value = "display")
    private Integer display;

    /**
     * 排序
     */
    @TableField(value = "sort_no")
    private Integer sortNo;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

}